1. Field of the Invention
This invention relates to a chip test method, and more particularly to a method for testing a universal serial bus host controller.
2. Description of the Related Art
The universal serial bus (USB) is an interface suitable for use in various kinds of peripheral devices. It can allow various kinds of computer peripheral devices to be connected with the host computer in a unified and standard manner. By using the universal serial bus, when the computer system is under operation, the computer system can communicate with its peripheral devices. Additionally, each of the peripheral devices can be selectively connected, installed, used, or removed when the computer system is operating to achieve the function of plug and play (PnP).
FIG. 1 schematically illustrates the coupling relationship between a USB host controller and a client device. The universal serial bus 106 needs a host controller 102 to control the communication with the peripheral devices attached to the bus. When the host controller 102 outputs a request rq via the universal serial bus 106 to the client device 104, the client device 104 sends a response rs to the host controller 102 according to the request rq. The request rq and the response rs are transmitted in the universal serial bus in the form of packet and the request rq must include the address and endpoint fields.
In general, the chip is to be tested after fabrication so as to verify its functions. The conventional method for testing the USB host controller is to output requests in sequence from the USB host controller to the client device, and the client device then sends the responses in the same sequence. The function of the host controller is then verified by checking whether or not the responses received by the host controller are correct.
The disadvantage of the conventional method for testing the host controller is that it can only test whether or not the action of the host controller is accurate during normal operations. During actual operations, there are many factors, such as the faulty action by the client devices or data packet loss due to bus congestion and so on, which will in some cases result in a host controller receiving a response that is irrelevant to the request. When the host controller encounters this kind of situation, the responses with error or fault may affect the behavior of the host controller and its subsequent actions, resulting in problems in operation. However, the conventional chip test method is neither capable of detecting such situation nor verifying that the host controller is still operating properly.
In addition, as the performance of the computer and its peripheral devices improves, the transmission rates provided by the conventional USB 1.0 and USB 1.1 cannot fulfil the requirements for high speed peripherals and applications. The latest USB standard, USB 2.0, can provide a faster transmission rate enabling high speed connections between a USB 2.0 compliant computer and its peripheral devices. However, the packet format of USB 2.0 is different from that of USB 1.x making the conventional chip test method unsuitable for host controllers compliant to USB 2.0.